Skip to content

Conversation

@henderkes
Copy link
Collaborator

@henderkes henderkes commented Dec 18, 2025

What does this PR do?

  • fix removal of directories with symlinks to directories
  • add mysqlnd_parsec and mysqlnd_ed25519, closes mysqlnd_parsec #1000
  • remove grpc library from grpc ext dependencies
  • temporary swoole patch (remove when 6.2.0 releases!)
  • don't build addons explicitly
  • look for pkgconfig files in all PKG_CONFIG_PATHs so we don't build stuff when a system lib exists and we explicitly want to link against it

@crazywhalecc
Copy link
Owner

Use it externally in v2: bin/spc build --build-cli bcmath -P a.php

// a.php
if (preg_match('/after-library\[(.*)\]-build/', patch_point(), $match)) {
    $lib_name = $match[1];
    FileSystem::removeDir(SOURCE_PATH . '/' . $lib_name);
}

v3 will mark this as deprecated, using #BeforeStage and #AfterStage attribute instead. But removal will be performed in v4 (will be a long time)

@henderkes
Copy link
Collaborator Author

That's not working FYI.

@henderkes
Copy link
Collaborator Author

I'm silly. Forgot <?php...

@henderkes
Copy link
Collaborator Author

henderkes commented Dec 19, 2025

Swoole fails with 8.5.1 despite the patch.

Libwebp fails on alma 8 despite the check succeeding...

And I need another vacation. The composer update before push failed because it failed to remove go package stuff in pkgroot. The bugs actually seem fixed.

@henderkes
Copy link
Collaborator Author

Everything builds now, except for the macos intel failure, I guess.

@crazywhalecc
Copy link
Owner

Looks like it's a JIT bug on x86_64 mAC05.

@crazywhalecc
Copy link
Owner

crazywhalecc commented Dec 26, 2025

Upstream issue here: php/php-src#20767 . Looks like we will need to exclude clang version manually here or use homebrew llvm instead.

@henderkes
Copy link
Collaborator Author

henderkes commented Dec 27, 2025

Swoole is broken on 8.5 until 6.2 release. Nothing we can realistically do there except manually using custom source option for download.

Keeping this PR frozen but open until Swoole releases 6.2. We don't need to add a patch for a dev version, I just need it to build swoole extension for packages.

Upstream issue here: php/php-src#20767 .

That will be fixed soon, we don't need to patch for it.

@crazywhalecc crazywhalecc added the mixed PR This PR contains multiple updates label Dec 31, 2025
@henderkes
Copy link
Collaborator Author

henderkes commented Jan 17, 2026

@crazywhalecc If you have a free minute (or a few) it might be worth still getting this into v2 since it contains actual fixes.

I'm happy to rebase v3 against it afterwards.

@crazywhalecc
Copy link
Owner

I recently had to pause development on v3 because my full-time job was a bit busy, and I was also moving to a new house.

But I will check this again tomorrow / it seemed good last time.

This comment was marked as spam.

"libargon2.a"
],
"lib-suggests": [
"libsodium"
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why it depends on libsodium?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't depend on libsodium, but because they implement a lot of the same symbols, this orders them correctly. I got rid of the patch in password_argon2.php instead as it failed with -lsodium -largon2.

Because this now suggests libsodium, meaning libsodium may contain symbols this library "relies on", SPC makes sure that libsodium comes after libargon2 everywhere. Because libargon2 implements all symbols of libsodium, no further symbols will be needed during linking and libsodium is ignored.

"type": "ghtagtar",
"repo": "pnggroup/libpng",
"match": "v1\\.6\\.\\d+",
"query": "?per_page=150",
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this necessary, or is it only libpng that needs this?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only libpng needs this. They released a lot of v1.7 betas, so the latest 1.6 version is only on page 3.

@henderkes henderkes merged commit 1c28f0f into main Jan 19, 2026
23 of 25 checks passed
@henderkes henderkes deleted the henderkes-patch-1 branch January 19, 2026 11:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

mixed PR This PR contains multiple updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

mysqlnd_parsec

3 participants